From 706ce1a83f0389857d2d68d7fe38367f12aa407e Mon Sep 17 00:00:00 2001 From: Jeroen van der Heijden Date: Fri, 28 Sep 2018 16:59:17 +0200 Subject: [PATCH] fadvice on buffer file --- src/siri/db/buffer.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/siri/db/buffer.c b/src/siri/db/buffer.c index b6a0ab80..9137b90f 100644 --- a/src/siri/db/buffer.c +++ b/src/siri/db/buffer.c @@ -116,6 +116,7 @@ int siridb_buffer_fsync(siridb_t * siridb) */ int siridb_buffer_open(siridb_t * siridb) { + int buffer_fd, rc; siridb_misc_get_fn(fn, siridb->buffer_path, SIRIDB_BUFFER_FN) if ((siridb->buffer_fp = fopen(fn, "r+")) == NULL) @@ -124,6 +125,20 @@ int siridb_buffer_open(siridb_t * siridb) return -1; } + buffer_fd = fileno(siridb->buffer_fp); + + if (buffer_fd == -1) + { + log_critical("Cannot get file descriptor: '%s'", fn); + return -1; + } + + rc = posix_fadvise(buffer_fd, 0, 0, POSIX_FADV_RANDOM|POSIX_FADV_DONTNEED); + if (rc) + { + log_warning("Cannot set advice for file access: '%s' (%d)", fn, rc); + } + return 0; } -- 2.30.2